System and method for display management based on user attention inputs

ABSTRACT

A system and method are provided for managing data being displayed on at least one monitor screen based on monitoring user&#39;s attention in relation to the monitor screen. In one embodiment, upon detecting that the user&#39;s attention is leaving at least a portion of a screen, the system may alert the user of such an event. Alternatively, the system could alert the user upon detecting a triggering condition while the user&#39;s attention is away from the at least a portion of the screen. The step of alerting the user may include modifying at least a portion of a display on a monitor not being viewed by the user. Additionally, the system may initiate preparation of a report including any data not being viewed by a user during the time period when the user is not viewing a portion of the monitor.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/969,496, filed on Aug. 16, 2013, now U.S. Pat. No. 8,854,302, whichis a continuation of U.S. patent application Ser. No. 13/478,889, filedon May 23, 2012, now U.S. Pat. No. 8,547,330, which is a continuation ofU.S. patent application Ser. No. 10/872,617, filed on Jun. 21, 2004, nowU.S. Pat. No. 8,232,962, entitled “System and Method for DisplayManagement Based on User Attention Inputs”, the contents of each ofwhich are fully incorporated by reference herein for all purposes.

FIELD OF INVENTION

The present invention is directed to managing data displays. Morespecifically, the present invention is directed to managing datadisplays based on user's attention data.

BACKGROUND

An exchange is a central marketplace with established rules andregulations where buyers and sellers meet to trade. Some exchanges,referred to as open outcry exchanges, operate using a trading floorwhere buyers and sellers physically meet on the floor to trade. Otherexchanges, referred to as electronic exchanges, operate by an electronicor telecommunications network instead of a trading floor to facilitatetrading in an efficient, versatile, and functional manner. Electronicexchanges have made it possible for an increasing number of people toactively participate in a market at any given time. The increase in thenumber of potential market participants has advantageously led to, amongother things, a more competitive market and greater liquidity.

With respect to electronic exchanges, buyers and sellers may log onto anelectronic exchange trading platform by way of a communication linkthrough their user terminals. Once connected, buyers and sellers maytypically choose which tradeable objects they wish to trade. As usedherein, the term “tradeable object” refers to anything that can betraded with a quantity and/or price. It includes, but is not limited to,all types of traded events, goods and/or financial products, which caninclude, for example, stocks, options, bonds, futures, currency, andwarrants, as well as funds, derivatives and collections of theforegoing, and all types of commodities, such as grains, energy, andmetals. The tradeable object may be “real,” such as products that arelisted by an exchange for trading, or “synthetic,” such as a combinationof real products that is created by the user. A tradeable object couldactually be a combination of other tradeable objects, such as a class oftradeable objects.

To profit in electronic markets, market participants must be able toassimilate large amounts of data in order to recognize market trends andto view current market conditions. Screen space is often an importantfactor for a trader to consider when he/she sets up a tradingworkstation, since the screen space directly affects the trader'sability to quickly view and process market data. Many traders use onelarge monitor running at a very high resolution in an effort to get themaximum amount of data onto the screen. However, in today'sinformation-intensive markets, to be successful, traders often need tosimultaneously view multiple trading interfaces, charts, industry news,spreadsheets, as well as other information. Since eachapplication-created interface has at least one window, a single monitordoes not allow a trader to simultaneously view data on multiple windows,and the time it takes the trader to flip between the windows does notmake the single monitor the most optimal trading workspace solution.

Therefore, many traders use multiple monitors to avoid flipping from onewindow to another, and to efficiently view all windows simultaneously.However, traders with multiple monitors can actually only look closelyat one monitor at a time. Although the human peripheral field of visionis 180°, the field of foveal vision (the region of the visual fieldwhere the user has the greatest visual activity) is approximately 2°.Therefore, a trader can only attend to a small part of each display atany one point in time. When a trader's gaze returns to a monitor aftersome period of time, it is simple to observe the current state of theapplication, but, especially with a real-time application like a tradinginterface or any other graphical display of time-varying data, it willnot be easy for a trader to determine what has occurred during the timeinterval when the trader was looking elsewhere. As a trader uses moremonitors, the trader may miss many important trading opportunities bynot being able to simultaneously view data that are displayed ondifferent monitors. Therefore, it would be beneficial to provide asystem that could be used by a trader to improve his awareness of marketevents when the trader is using more than one monitor.

BRIEF DESCRIPTION OF THE DRAWINGS

Example embodiments of the present invention are described herein withreference to the following drawings, in which:

FIG. 1 is a block diagram illustrating an example network configurationfor a communication system utilized to access one or more exchanges;

FIG. 2 is a block diagram illustrating an example system for managementof market data being displayed on multiple monitors using gaze trackingin a trading environment;

FIG. 3 is a block diagram of a client device with a number of layersdefining different stages that can be used to implement the exampleembodiments; and

FIGS. 4A and 4B are a flow diagram illustrating operation and functionof a possible implementation of the preferred embodiments for managingmultiple monitor displays according to one example embodiment.

DETAILED DESCRIPTION

I. Display Management Using Gaze Input Controls

The preferred embodiments are provided, among other things, tofacilitate display management based on monitoring user's attention inrelation to one or more display monitors, such as monitoring a user'sgaze position in relation to one or more monitors, or upon detectingsome other user-defined events. In one aspect of the preferredembodiments, a system includes, among other elements, a plurality ofmonitors, one or more gaze tracking units, and a display managerapplication. The gaze tracking units preferably non-intrusively capturethe direction of the user's gaze and calculate which screen or whichportion of the screen the user is currently viewing. If one of the gazetracking units detects the user shifting his eyes away from a monitor orfrom one or more graphical interfaces being displayed on the monitor,the gaze tracking unit may notify the display manager application of theoccurrence of such an event, and the display manager application canresponsively start managing at least a portion of the display monitor.

In one preferred embodiment, the display manager application may recorddata being displayed on the monitor while the user's gaze is away fromthe monitor. In such an embodiment, for example, the data can berecorded during the entire trading session, and the display managerapplication can select or mark portions of the data being recorded sothat the data corresponding to the time when the user's gaze was awayfrom the screen or a portion thereof can be later easily identified.Alternatively, the display manager application may modify the display,such as suppress or minimize some or all of the displayed windows, orperform different functions based on the user's preferences. Then, whenthe gaze tracking unit detects the user's gaze returning back to themonitor, an event indicating that marking of the data being recordedshould stop, the gaze tracking unit may notify the display managerapplication to stop marking the data that is being recorded.Alternatively, if the display manager application starts data recordingupon detecting that the user's gaze is away from the monitor, or aportion thereof, the event of the user's gaze returning back to themonitor can be interpreted as a request to stop recording. In oneembodiment, the display manager application may prepare a reportincluding events that happened during the time period when the user'sgaze was away from the monitor, and may provide the report to a userupon detecting another event, such as upon detecting the user's gazereturning back to the monitor. The report could include a series ofsnapshots of textual and/or graphical displays, or may include allrecorded data which can be later played to a user. Also, the reportcould highlight certain elements on the user interfaces while the user'sgaze was away from the monitor. In another embodiment, the report couldbe a “weather map” style fast forward display of what happened duringthe away time. However, it should be understood that different reportformats could also be prepared based on the user's preferences.

In an alternative embodiment, or in addition to preparing a report, thedisplay manager application could also alert a user at times when theuser is not looking at a monitor or at one or more windows beingdisplayed on the monitor. In one embodiment, the process of alerting auser may include modifying a full display monitor or portions of thedisplay, such as individual windows, not being viewed by the user. Forexample, the display manager application could modify the display byenhancing, enlarging, or modifying colors of the windows or interfacesnot being viewed by a user. However, it should be understood thatdifferent modifications could be applied to the individual windows orentire monitor displays as well. Also, rather than enhancing the displayof the windows not being viewed by the user, such windows could beminimized or covered with some other displays. Further, alternatively,the alerts could be audio alerts, and could include any audio messagesor sounds. In such an embodiment, the content of audio messages could bebased on what a user is not looking at on one or more screens.Alternatively, alerts could only be provided to a user upon detecting acondition triggering generation of an alert. It should be understoodthat such conditions could be user configurable.

While the present invention is described herein with reference toillustrative embodiments for particular applications, it should beunderstood that the present invention is not limited thereto. Othersystems, methods, and advantages of the present embodiments will be orbecome apparent to one with skill in the art upon examination of thefollowing drawings and description. It is intended that all suchadditional systems, methods, features, and advantages be within thescope of the present invention, and be protected by the accompanyingclaims.

II. Hardware and Software Overview

As will be appreciated by one of ordinary skill in the art, the presentembodiments may be operated in an entirely software embodiment, in anentirely hardware embodiment, or in a combination thereof. However, forsake of illustration, the preferred embodiments are described in asoftware-based embodiment, which is executed on a computer device. Assuch, the preferred embodiments take the form of a computer programproduct that is stored on a computer readable storage medium and isexecuted by a suitable instruction system in the computer device. Anysuitable computer readable medium may be utilized including hard disks,CD-ROMs, optical storage devices, or magnetic storage devices, forexample.

In an electronic trading environment, when a trader selects a tradeableobject, the trader may access market data related to the selectedtradeable object(s). Referring to FIG. 1, an example communication thatmight occur between an electronic exchange and a client terminal inaccordance with the preferred embodiments is shown. During a tradingsession, market data 108, in the form of messages, may be relayed from ahost exchange 106 over communication links 116 and 112 to a clientterminal generally indicated as 102. As illustrated in FIG. 1,intermediate devices, such as gateway(s) 104, may be used to facilitatecommunications between the client terminal 102 and the host exchange106. It should be understood that while FIG. 1 illustrates the clientterminal 102 communicating with a single host exchange, in analternative embodiment, the client terminal 102 could establish tradingsessions to more than one host exchange.

The market data 108 contains information that characterizes thetradeable object's order book including, among other parameters, orderrelated parameters, and the inside market, which represents the lowestsell price (also referred to as the best or lowest ask price) and thehighest buy price (also referred to as the best or highest bid price).In some electronic markets, market data may also include market depth,which generally refers to quantities available for trading the tradeableobject at certain buy price levels and quantities available for tradingthe tradeable object at certain sell price levels.

In addition to providing the tradeable object's order book information,electronic exchanges can offer different types of market informationsuch as total traded quantity for each price level, an opening price,last traded price, last traded quantity, the closing price, or orderfill information. It should be understood that market informationprovided from an electronic exchange could include more or fewer itemsdepending on the type of tradeable object or the type of exchange. Also,it should be understood that the messages provided in the market data108 may vary in size depending on the content carried by them, and thesoftware at the receiving end may be programmed to understand themessages and to act out certain operations.

A trader may view the information provided from an exchange via one ormore specialized trading screens created by software running on theclient terminal 102. Upon viewing the market information or a portionthereof, a trader may wish to take actions, such as send orders to anexchange, cancel orders at the exchange, or change order parameters, forexample. To do so, the trader may input various commands or signals intothe client terminal 102. Upon receiving one or more commands or signalsfrom the trader, the client terminal 102 may generate messages thatreflect the actions taken, generally shown at 110. It should beunderstood that different types of messages or order types can besubmitted to the host exchange 106, all of which may be consideredvarious types of transaction information. Once generated, user actionmessages 110 may be sent from the client terminal 102 to the hostexchange over communication links 114 and 116.

III. System Function and Operation

FIG. 2 is a block diagram illustrating an example system 200 formanagement of market data displays on multiple monitors using gazetracking inputs according to one example embodiment. The system 200includes a plurality of computer display units or screens 202-208, eachassociated with gaze tracking interfaces 210-216 for following andtracking positions and movements of the user's head and eyes. There aremany currently existing technologies providing gaze detection andtracking functionality, and the gaze tracking interfaces 210-216 caninclude any existing or later developed gaze detection and trackingsystems. According to one preferred embodiment, the gaze trackinginterfaces 210-216 may capture the user's gaze, and then provide theuser's gaze position data to a gaze control application 218. FIG. 2illustrates each monitor having a gaze tracking interface. However, inan alternative embodiment, the system 200 could include a single gazetracking interface to monitor a user's gaze in relation to a pluralityof monitors. Also, it should be understood that the embodimentsdescribed herein are not limited to any number of monitors or gazetracking interfaces, and fewer or more monitors and gaze trackinginterfaces could also be used.

Upon receiving the user's gaze position data, the gaze controlapplication 218 may first determine the user's gaze position coordinatesin relation to one of the monitors. When the gaze control application218 detects a user shifting his eyes away from one of the monitors (or aportion of a display on one of the monitors, depending on the user'spreferences), the gaze control application 218 may provide a signal tothe display manager 220 so that, in one preferred embodiment, thedisplay manager 220 may start preparing a report of events occurringwhile the user is not looking at the monitor. It should be understoodthat the report may take many different formats, and may include textualand/or graphical data. Also, in a preferred embodiment, a user mayspecify a number of rules defining which portions of the displayedinterfaces should be recorded. For example, if a monitor displays atrading interface and a chart, a user may wish to configure a number ofrules that will cause the display manager 220 to only record data beingdisplayed on the trading interface, while not recording any chartdisplay data.

In a preferred embodiment, the display manager 220 may continuepreparation of the report until the gaze control application 218provides a stop signal to the display manager 220. The gaze controlapplication 218 may generate the stop signal upon detecting that theuser's gaze returned to the monitor. The display manager 220 may thenprovide the generated report to a user. It should be understood that thereport could be displayed to a user immediately upon detecting theuser's gaze returning back to the monitor for which the report wascreated. Alternatively, a user may control when he/she wishes to viewthe report. As mentioned in earlier paragraph, the report may take manydifferent formats, and may include a series of textual and/or graphicaldisplays, highlighting of certain elements on the application's userinterface, a fast forward display of what happened during the away time,a combination thereof, or yet some other format. It should be understoodthat a user could define a number of rules to be used by the displaymanager 220 to prioritize which of the recorded data should be shown tothe trader first. In such an embodiment, the display manager 220 mayprocess data from many applications or windows, and may report thehighest priority items first. The display manager 220 may then save eachreport in a database 222.

In the system 200 illustrated in FIG. 2, the display manager 220 isconnected to multiple monitors that are part of a workspace. However,alternatively, the display manager 220 could also control monitorsconnected to more than one workstation. In such an embodiment thedisplay manager 220 may communicate over a network with the gazetracking interfaces associated with other workspaces, and can mediatethe reporting process over one or more networks.

Also, while FIG. 2 and subsequent figures refer to using gaze relateddata, the preferred embodiments are not limited to monitoring where theuser is looking. Alternatively, the display manager 220 can perform itsfunctions in response to other user attention based inputs. For example,the display manager 220 could manage the display according to thepreferred embodiments described below when it detects that a portion orthe entire window being displayed on a monitor is covered by anotherwindow so that a user cannot view the window underneath. However, itshould be understood that different events could also be considered toaffect the user's attention.

FIG. 3 is a block diagram illustrating a client device 300 with a numberof layers defining different stages that may be used to implementembodiments of the present invention. The layers include a tradingapplication 302, a gaze control application 304, a display managerapplication 306, a database 308, an operating system 310, and anapplication programming interface (“API”) 312. The client device 300also preferably includes, among other things, at least a processor and amemory unit (both of which are not shown in the figure, but are wellknown computer components). Preferably, the processor has enoughprocessing power to handle and process various types of marketinformation. Therefore, the more market information is received andprocessed, the more processing power is preferred. However, any presentday processor has enough processing power to handle and process varioustypes of market information. Also, it should be understood that memorymay include any computer readable medium. The term computer readablemedium, as used herein, refers to any medium that participates inproviding instructions to a processor unit for execution.

Preferably, the trading application 302 and the display managerapplications 306 have access to market information from one or more hostexchange 314 through an interface, such as the API 312. A commerciallyavailable trading application that allows a user to trade is X_TRADER®from Trading Technologies International, Inc. of Chicago, Ill. X_TRADER®also provides an electronic trading interface, referred to as MDTrader™, in which working orders and/or bid and ask quantities aredisplayed in association with a static axis of prices. However, thepreferred embodiments are not limited to any particular product thatperforms translation, storage, and display functions.

Portions of the X_TRADER® and the MD Trader™-style display are describedin U.S. patent application Ser. No. 09/590,692, entitled “Click BasedTrading With Intuitive Grid Display of Market Depth,” filed on Jun. 9,2000, U.S. patent application Ser. No. 09/971,087, entitled “Click BasedTrading With Intuitive Grid Display of Market Depth and PriceConsolidation,” filed on Oct. 5, 2001, and U.S. patent application Ser.No. 10/125,894, entitled “Trading Tools for Electronic Trading,” filedon Apr. 19, 2002, the contents of each are incorporated herein byreference.

When the gaze control application 304 receives user's gaze position datafrom a gaze interface 320, the gaze control application 304 maydetermine position coordinates of the user's gaze in relation to one ormore monitors in a user's workspace. Upon detecting that the user hasshifted his eyes away from one of the monitors, the gaze controlapplication 304 may provide a signal to the display manager application306 to start managing the display of the monitor. The display managerapplication 306 may start recording market data or any other data beingdisplayed on the monitor while the user is not looking at the monitor.Alternatively, the display manager application 306 may suppress theactive display of the monitor by minimizing any windows that aredisplayed on the monitor, or by obscuring the windows with a snapshot ofwhat the display looks like at various intervals. However, it should beunderstood that any other mechanism, such as intercepting low-levelwindow manager messages related to commands to paint the physicalscreen, could be used as well to modify a display while a user is notlooking at a monitor. Also, in one preferred embodiment, the process ofupdating the monitor display preferably resumes immediately upondetecting the user's eyes returning back to the monitor. In fact, thedisplay manager application 306 could stop management of the display assoon as the gaze interface 320 detects that there is a reasonableprobability of the gaze coming to rest upon the display monitor inquestion.

Preferably, any data recorded by the display manager application 306 maybe saved in the database 308. The database 308 may be any data storageentity that provides writing and reading access. In one preferredembodiment, the database 308 may record any data for the display managerapplication 306, and the data could be recorded directly to a memoryunit or to some other storage device, such as a computer's hard disk.The display devices 316 could be CRT-based video displays, LCD-baseddisplays, gas plasma-panel displays, displays that showthree-dimensional images, different display types, or the combinationthereof. The input devices 318 may include a mouse, a keyboard, a gamepad, or a stylus in the embodiments using touch-screen display devices.However, different input devices could also be used.

The operating system 310 may be used to manage hardware and softwareresources of the client terminal 300. General functions of the operatingsystem 310 may include processor management, memory management, devicemanagement, storage management, application interface, and userinterface. Any type of the operating system 310 may be used to implementthe present embodiments, and examples of common operating systemsinclude the Microsoft WINDOWS family of operating systems, the UNIXfamily of operating systems, or the MACINTOSH operating systems.However, those ordinarily skilled in the art will recognize that theadded complexity of an operating system may not be necessary to performthe functions described herein.

FIGS. 4A and 4B are a flow chart illustrating a method 400 for operationand function of a gaze control application of the preferred embodimentsfor gaze control processing. It should be understood that each block mayrepresent a module, segment, or portions of code, which includes one ormore executable instructions for implementing specific logical functionsor steps in the process. Alternate implementations are included withinthe scope of the preferred embodiment of the present invention in whichfunctions may be executed out of order from that shown or discussed,including substantially concurrently or in reverse order, depending onthe functionality involved, as would be understood by those reasonablyskilled in the art of the present invention. The flow diagram 400 willbe described in relation to the elements of the client terminal in FIG.3. However, it should be understood that more, fewer, or differentcomponents could also be used to execute the method 400.

Referring to FIG. 4A, at step 402, the gaze control application 304 usesinputs that are provided by the gaze interface 320 to determine andmonitor coordinates of the user's gaze in relation to at least onemonitor. In a preferred embodiment, the gaze control application 304uses the gaze coordinates to determine the exact position of the user'seyes in relation to one of the monitors. At step 404, the gaze controlapplication 304 detects the user's eyes shifting away from at least onemonitor display. It should be understood that, in an alternativeembodiment, the gaze control application 304 could be also configured todetect the user's eyes shifting away from one or more windows or userinterfaces being displayed on a monitor. Also, alternatively, eventsother than the user's gaze shifting away from the screen or a portionthereof could be detected as well, and could trigger the steps of themethod described below. Such events, for example, may include any user'sattention based events, such as a window being temporarily obscured byanother window, or some other user-configurable events.

When the gaze control application 304 detects that the user's eyes hasshifted away from one of the monitors or a portion thereof, such as fromone or more windows being displayed on the monitor, at step 406, thegaze control application 304 may provide a signal to the display managerapplication 306. In one embodiment, the signal may include an identifierdefining a monitor, or one or more application windows that are notbeing viewed by the user. It should be understood that the user coulddefine which of the application windows or monitors should be monitoredby the gaze control application 304 so that the gaze control application304 would provide a signal to the display manager application 306 onlywhen it detects the user's eyes shifting away from one of the specifiedapplication windows or monitors.

At step 408, the display manager application 306 may start management ofdata being displayed on the monitor. In one preferred embodiment, thedisplay manager application 306 may prepare a report by recording databeing displayed on the monitor while the user's eyes are away from thatmonitor. For example, the system may be configured to record data beingdisplayed on a monitor during the entire trading session. In such anembodiment, the display manager application 306 may record the time whenthe user's gaze shifts away from the monitor or a portion thereof sothat it can later go back to the recording and identify the start of therelevant data. It should be understood that different methods could alsobe used to identify where the relevant data has started. In analternative embodiment, the display manager application 306 could startrecording the data at the time when the gaze control application 304detects the user's gaze shifting away from the monitor or a portionthereof.

In an alternative embodiment, the display manager application 306 mayinitiate a process of alerting a user upon detecting that the user'sgaze has shifted away from the monitor or from one or more windows beingdisplayed on the monitor. For example, the display manager application306 could enhance, enlarge, or change colors of all or some windows orinterfaces not being viewed by the user. Further, alternatively, thedisplay manager application 306 could minimize some windows beingdisplayed on the monitor, or could cover some or all windows not beingviewed by a user with some other windows. Also, the process of alertinga user could include providing audio alerts, such as playing messages ordifferent sounds to a user. In such an embodiment, the message contentor the type of the alert used may depend on data not being viewed by auser at one of the monitors or portions of the monitor. Also, it shouldbe understood that the process of alerting a user may be initiated atthe time when the user shifts his attention from the monitor or thewindow, or at some other time, such as upon detecting an alerttriggering condition along with the user's attention being away from amonitor or from a window.

At step 410, the gaze control application 306 determines if the user'sgaze has returned back to the monitor or to one or more windows beingdisplayed on the monitor. Referring to FIG. 4B, when the user's gazereturns back to the monitor or windows being displayed on the monitors,at step 412, the display manager application 306 may discontinue datamanagement for the monitor display. For example, the display managerapplication 306 may record the time when the event happened so that itcan later identify the end of the relevant data from the recorded data.In an alternative embodiment where the display manager application 306only starts recording data upon detecting a user attention based event,the display manager application 306 may stop recording upon detectingthe user's gaze returning back to the monitor. Further, alternatively,the display manager application 306 could discontinue generating alertsfor a user in relation to windows or the monitor being currently viewedby the user, or may stop modifying the display of the monitor or thewindows.

At step 414, the display manager application 306 may determine if areport was prepared for a user. As explained in reference to earlierparagraphs, in a preferred embodiment, the report may include all orsome data recorded during the time interval when the user's gaze wasaway from the monitor, or away from one or more windows on the monitor.Also, it should be understood that the report may take many differentformats. For example, the report could be a series of textual and/orgraphical displays of what happened during the user's away time.Alternatively, the report could include a series of screen/windowsnapshots, or video data highlighting certain elements on the userinterfaces during the user's away time. Also, a user could control whichof the displayed data should be recorded, or what events should triggerthe process of recording data. It should be understood that anycombination of report types could be used, or yet some other report typecould also be generated.

If the report has been generated, at step 416, the display managerapplication 306 provides the report to a user. In one embodiment, thedisplay manager application 306 may provide to the user the fast forwardstyle of display of what happened during the away time period so thatthe user could control how quickly he reviews the data in the report.However, it is possible that the user's eyes may quickly shift toanother display while the user is viewing the report, only to shift backagain to the original or yet another display. In such an embodiment, thedisplay manager application 306 may note that there has not beensufficient time to report to the user all actions that occurred duringthe time interval when the user's gaze was away from the monitor or oneor more windows on the monitor, and may keep that information stored forlater reporting. Optionally, the display manager application 306 canrequire an acknowledgement of the reported information, such as by anaction the user may take with an input device, or by detecting that theuser had a sufficient time to view the reported items. In anotherembodiment, if there is not enough space on a screen to display thereport without obscuring other windows, the display manager application306 could display a report data window on top of one or more otherwindows. In such an embodiment, any data displayed via the report datawindow can be transparent so that a user can view both the report dataas well as any other data being displayed on the underlying windows.

Alternatively, rather than waiting for the user's gaze to return back tothe monitor, the user may opt to view the generated report via anotherdevice while the user is away from the location of the monitors. As anexample, the user could view the report via a wireless device that iscapable of receiving and displaying to the user snapshots of informationbeing received from the display manager application 306.

In another preferred embodiment, the display manager application 306could operate in conjunction with another display data application. Insuch an embodiment, the display manager application 306 may notify thedisplay data application of the event that the recording should begin,such as upon detecting a user's gaze shifting away from a monitor or aportion thereof, as in the embodiment described in reference to FIGS. 4Aand 4B, or upon detecting some other event, such as a window beingcovered by other interfaces. Later, the display manager application 306could notify the display data application of another event indicatingthat the display data application should preferably stop recording.Then, the display manager application 306 could provide another signalupon detecting the occurrence of an event that a report should beprepared and provided to a user. However, it should be understood thatstill different embodiments could be possible as well.

While the above embodiments described the display manager application306 preparing a report or modifying a display of a monitor while theuser's gaze is away from the monitor, different embodiments are possibleas well. For example, the display manager application 306 managing amonitor that is not being attended by a user may encounter an event ofsuch a high priority that it might notify the user right away. In oneembodiment, because the display manager application 306 continuouslyreceives user's gaze position data from the gaze control application304, it may at any time determine the current position of the user'sgaze based on the received data. Knowing the current user's gazeposition, the display manager application 306 may place notifications ofappropriate severity within the edges of the user's current field ofview, preferably without obscuring the interface that is central to theuser's gaze, yet still be able to attract the user's attention. Forexample, the notification could include textual and/or graphicalinformation, depending on the user's preferences. Also, any alertsignals could be an audio signal. In one embodiment, the notificationdisplayed to the user could include portions of the application windownot being viewed by the user, so that the user could also interact withthe application window if he wishes to do so, and not just read orbecome aware of the past activity. Alternatively, based on the user'spreferences, the notification could include the application window inits entirety.

In addition to monitoring the user's gaze, the gaze control application304 could also use other events as triggers to start managing displayeddata according to the preferred embodiments. For example, the events mayinclude an action of minimizing one or more application windows, ordetecting that a window is obscured by another window, thus, effectivelypreventing a user from viewing any data being displayed on the window.In an embodiment where the display manager 306 prepares a report, thedisplay manager application 306 may consider the event of restoring thewindow or the window becoming again visible on the screen as a signal tostop recording data being displayed via that window. Upon detectingeither of the events above, the display manager application 306 mayprovide a report to the user, and the report may include significantevents that occurred since the last time the user saw the window, orotherwise summarize the activity that has taken place when the windowwas minimized or obstructed by another window.

In further alternative embodiment, risk managers could use the systemand methods described above to receive information related to activitiesof several traders. For example, a display manager application runningon a computer of a risk manager may be configured to receive informationfrom display manager applications of the individual traders, and mayalert the risk manager when one or more preconfigured alert conditionsare detected based on the received data from one or more traders. Insuch an embodiment, the risk manager could view summary reportsdescribing each user's activities, snapshots of displays correspondingto one or more of the user's monitors, or even full videos of actualusers during a specific timeframe, along with information defining wherethe user's eyes were fixed during that time. However, it should beunderstood that different embodiments are possible as well.

The above description of the preferred embodiments, alternativeembodiments, and specific examples, are given by way of illustration andshould not be viewed as limiting. Further, many changes andmodifications within the scope of the present embodiments may be madewithout departing from the spirit thereof, and the present inventionincludes such changes and modifications.

It will be apparent to those of ordinary skill in the art that methodsinvolved in the system and method for display management using gazecontrol inputs or any other user attention based inputs may be embodiedin a computer program product that includes one or more computerreadable media. For example, a computer readable medium can include areadable memory device, such as a hard drive device, a CD-ROM, aDVD-ROM, or a computer diskette, having computer readable program codesegments stored thereon. The computer readable medium can also include acommunications or transmission medium, such as, a bus or a communicationlink, either optical, wired or wireless having program code segmentscarried thereon as digital or analog data signals.

The claims should not be read as limited to the described order orelements unless stated to that effect. Therefore, all embodiments thatcome within the scope and spirit of the following claims and equivalentsthereto are claimed as the invention.

The invention claimed is:
 1. A method including: displaying, by acomputing device, a trading application interface to a user on a displayunit, wherein the trading application interface is generated and updatedbased at least in part on real-time market data being received at thecomputing device from an electronic exchange; determining, by thecomputing device, user's gaze position data with respect to the tradingapplication interface with a gaze tracking interface associated with thecomputing device; providing the user's gaze position data to a gazecontrol application of the computing device; determining, by the gazecontrol application of the computing device, based on the user's gazeposition data when the user's gaze shifts away from the tradingapplication interface and when the user's gaze subsequently shifts backto the trading application interface; recording the real-time marketdata during a time period by a display manager application of thecomputing device, wherein the time period starts when the gaze controlapplication determines, based on the user's gaze position data, that theuser's gaze shifts away from the trading application interface, andwherein the time period ends when the gaze control applicationdetermines, based on the user's gaze position data, that the user's gazesubsequently shifts back to the trading application interface, whereinthe trading application interface continues to be updated during thetime period; generating, by the display manager application of thecomputing device, a report based on the recorded market data during thetime period; and displaying, by the computing device, the report to theuser.
 2. The method of claim 1, wherein the trading applicationinterface is continuously displayed during the time period.
 3. Themethod of claim 1, wherein the report includes one or more events, andwherein at least one of the one or more events is identified based on auser-configured rule.
 4. The method of claim 1, wherein the reportincludes at least one of textual data, audio data, video data, andgraphical data.
 5. The method of claim 1, wherein the report includes asnapshot of the displayed trading application interface at a timeassociated with one of the one or more events.
 6. The method of claim 1,wherein the report is displayed to the user after the time period ends.7. The method of claim 1, wherein the report is displayed to the user inresponse to a request from the user.
 8. The method of claim 3, whereinthe one or more events are identified in response to the time periodstarting.
 9. The method of claim 3, wherein the one or more events areidentified in response to the time period ending.
 10. The method ofclaim 1, wherein generating the report starts in response to detectingthat the time period ended.